#ifndef _EQUIPMENT_H_
#define _EUQIPMENT_H_

#include <iostream>

class Equipment
{
public:
    virtual void On() = 0;
    virtual void Off() = 0;
protected:
};

// 播放器
class Amplifier :public Equipment
{
public:
    Amplifier();
    
    void On();
    void Off();
    void SetSreamingPlayer();
    void SetStereoSound();
    void SetTuner();
    void SetVolum();
    std::string ToString();

    ~Amplifier();

private:
    Tuner* _tuner;
    StreamingPlayer* _player;
    Stereo* _stereo;
};

class Stereo :public Equipment
{
public:
    void On();
    void Off();
    void Volum();

private:
};

class StreamingPlayer :public Equipment
{
public:
    void On();
    void Off();
    void Pause();
    void Play();
    void SetSurroundAudio();
    void SetTwoChannelAudio();
    void Stop();
    std::string Tostring();

private:
};

class Tuner :public Equipment
{
public:
    void On();
    void Off();
    void SetFrequency();
    std::string ToString();
private:

};

class Screan
{
public:
    void Up();
    void Dowm();
    void ToString();
private:

};

class PopcomPopper :public Equipment
{
public:
    void On();
    void Off();
    void Pop();
    std::string ToString();

private:
};

class TheatreLights :public Equipment
{
public:
    void On();
    void Off();
    void Dim();
private:
};

class Projector :public Equipment
{
public:
    void On();
    void Off();
    void WideScreenMode();
private:
};

#endif